package com.gitee.cirnochat.login.model.enums;

import com.baomidou.mybatisplus.annotation.EnumValue;
import com.fasterxml.jackson.annotation.JsonValue;
import com.gitee.cirnochat.common.model.enums.BaseEnum;
import lombok.Getter;

/**
 * 设备类型枚举
 * @author FlanChan
 */
@Getter
public enum DeviceType implements BaseEnum<Integer> {
    /**
     * 未知
     */
    UNKNOWN(0),
    /**
     * 手机
     */
    PHONE(1),
    /**
     * 平板
     */
    TABLET(2),
    /**
     * 电脑
     */
    DESKTOP(3),
    /**
     * TV电视机
     */
    TV(4),
    /**
     * Web浏览器
     */
    WEB(5);

    @JsonValue
    @EnumValue
    private final Integer value;

    DeviceType(Integer value) {
        this.value = value;
    }

    public static DeviceType fromValue(Integer value) {
        for (DeviceType type : DeviceType.values()) {
            if (type.getValue().equals(value)) {
                return type;
            }
        }
        return UNKNOWN; // Default to UNKNOWN if no match found
    }
}
